﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using IBS.ServiceContracts;
using IBS.Model.Base;
using IBS.Model;

namespace IBS.Bll.Tests
{
    public class KnowledgeBaseServiceStub : IKnowledgeBaseService
    {
        public OperationResult CreateClient(Client clientInfo, Address homeAddress, Address regAddress, string login)
        {
            throw new NotImplementedException();
        }

        public OperationResult<Client> GetClientById(int clientId)
        {
            return new OperationResult<Client>(
                new Client() { 
                    Id = 23662347, 
                    FirstName = "Yury", 
                    LastName = "Yamoryk", 
                    PassportSeries = "AB", 
                    PassportNumber = 1234567, 
                    DateOfBirth = new DateTime(1990, 3, 6) });
        }

        public OperationResult<IList<Client>> GetClientsByCriteria(Func<Client, bool> predicate, int? pageNumber = null)
        {
            throw new NotImplementedException();
        }

        public OperationResult<IList<Client>> GetAllClients(int? pageNumber = null)
        {
            return new OperationResult<IList<Client>>(
                new[] {
                    new Client() { 
                        Id=23662347, 
                        FirstName = "Yury", 
                        LastName = "Yamoryk", 
                        PassportSeries="AB", 
                        PassportNumber = 1234567, 
                        DateOfBirth = new DateTime(1990, 3, 6) },
                    new Client() { 
                        Id=23569201, 
                        FirstName = "Natasha", 
                        LastName = "Baikevich", 
                        PassportSeries="MP", 
                        PassportNumber = 1237654, 
                        DateOfBirth = new DateTime(1991, 7, 16) },
                    new Client() { 
                        Id=23860146, 
                        FirstName = "Sasha", 
                        LastName = "Rudy", 
                        PassportSeries="MP", 
                        PassportNumber = 8305826, 
                        DateOfBirth = new DateTime(1990, 2, 10) }
                });
        }

        public OperationResult UpdateClient(Client client, string login)
        {
            throw new NotImplementedException();
        }

        public OperationResult DeleteClient(Client client)
        {
            throw new NotImplementedException();
        }
    }
}
